{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'2.1.0'"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "matplotlib.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nkruISAgpuYuIhJCfK1SfM7N9ZraplPX9zSzbzNZ7t0nBhykiImXh5wrVOQCmAXjhLNusIDk8kIhE\nRKTC/NRz/zuA/TGIRUREAhJUn/tlZrbBzN42s+SA9ikiIuXkp1smkrUA2pI8YmZDAbwON93eGcxs\nPIDxANCmTZsADi0iIiWpcMsISlNqAAAHXUlEQVSd5CGSR7z7SwDUMLPGpWyryTpERGKgwsndzJp5\nNd9hZr29fWZVdL8iIlJ+EbtlzOxlAP0BNDaz3QAeBlADyK/lfiOA280sB8BxACO9EsAiIhInfuq5\n3xRh/TS4oZIiIlJJ6ApVEZEQUnIXEQkhJXcRkRBSchcRCSEldxGREFJyFxEJISV3EZEQUnIXEQmh\nICbrMDN7xsy2mdlGM+sVfJgiIlIWflrucwBcc5b1Q+CqQHaCq/g4veJhiYhIRQQxWce1AF6gsxJA\nAzNrHlSAIiJSdkH0ubcEsKvQ493esjOY2XgzSzez9MzMzAAOLSIiJYnpCVXVcxcRiY0gknsGgNaF\nHrfylomISJwEkdwXAxjjjZrpCyCb5J4A9isiIuUUxGQdSwAMBbANwDEA46IVrIiI+BPEZB0EMCGw\niEREpMJ0haqISAgpuYuIhJCSu4hICCm5i4iEkJK7iEgIKbmLiISQkruISAgpuYuIhJCv5G5m15jZ\nv7wJOe4vYf1YM8s0s/Xe7dbgQxUREb/8lB+oDuBPAAbDlfP92MwWk/ys2KYLSN4RhRhFRKSM/LTc\newPYRvJLkicB/C/cBB0iIlJJ+UnufifjuMGbQ/VVM2tdwnpN1iEiEiNBnVB9A0ASyRQAywDMLWkj\nTdYhIhIbfpJ7xMk4SGaRPOE9nAXgkmDCExGR8vCT3D8G0MnM2plZTQAj4SboyFdsQuwRADYHF6KI\niJSVn3ruOWZ2B4B3AFQH8BzJT81sMoB0kosB/NLMRgDIAbAfwNgoxiwiIhGYm2sj9tLS0pienh6X\nY4uIVFVmtoZkWqTtdIWqiEgIKbmLiISQkruISAgpuYuIhJCSu4hICCm5i4iEkJK7iEgIKbmLiIRQ\nUJN11DKzBd76VWaWFHSgIiLiX8TkXmiyjiEAugK4ycy6FtvsFgAHSHYE8BSAPwQdqIiI+BfUZB3X\noqDM76sABpmZBRemiIiURcTCYSh5so4+pW3jFRrLBtAIwLeFNzKz8QDGew+PmNm/yhM0gMbF9x0n\niqMoxVFUZYijMsQAKI7iKhJHWz8b+UnugSE5E8DMiu7HzNL9FM6JNsWhOCp7HJUhBsURnzgCmayj\n8DZmlgCgPoCsIAIUEZGyC2SyDu/xT737NwJYznjVEhYRkcAm65gNYJ6ZbYObrGNkNINGAF07AVEc\nRSmOoipDHJUhBkBxFBf1OOI2WYeIiESPrlAVEQkhJXcRkRCqcsk9UimEGMXwnJntM7NN8Th+oTha\nm9kHZvaZmX1qZnfGIYZEM1ttZhu8GB6JdQzF4qluZuvM7M04xrDdzD4xs/VmFreJgs2sgZm9amaf\nm9lmM7ssDjF09p6HvNshM7srDnHc7b0/N5nZy2aWGOsYvDju9GL4NOrPA8kqc4M7ofsFgPYAagLY\nAKBrHOK4AkAvAJvi/Hw0B9DLu18PwJZYPx8ADEBd734NAKsA9I3jc3IPgJcAvBnHGLYDaBzP94YX\nx1wAt3r3awJoEOd4qgPYC6BtjI/bEsBXAM7zHr8CYGwc/v5uADYBqA03mOU9AB2jdbyq1nL3Uwoh\n6kj+HW5UUFyR3ENyrXf/MIDNcG/kWMZAkke8hzW8W1zO0ptZKwDDAMyKx/ErEzOrD9cImQ0AJE+S\nPBjfqDAIwBckd8Th2AkAzvOuw6kN4Os4xNAFwCqSx0jmAPgbgB9E62BVLbmXVAohpsmssvIqcfaE\naznH+tjVzWw9gH0AlpGMeQyepwHcByA3TsfPQwDvmtkar+RGPLQDkAngea+bapaZ1YlTLHlGAng5\n1gclmQHgcQA7AewBkE3y3VjHAddq/zcza2RmtQEMRdELRANV1ZK7lMDM6gJ4DcBdJA/F+vgkT5NM\nhbt6ubeZdYt1DGY2HMA+kmtifewS9CPZC66S6gQzuyIOMSTAdR1OJ9kTwFEAcTlHBQDeBZAjACyM\nw7Ebwn3DbwegBYA6ZnZzrOMguRmuYu67AJYCWA/gdLSOV9WSu59SCOcUM6sBl9jnk/xLPGPxvvZ/\nAOCaOBz+cgAjzGw7XHfdQDN7MQ5x5LUUQXIfgEVw3YmxthvA7kLfol6FS/bxMgTAWpLfxOHY/w7g\nK5KZJE8B+AuA78UhDpCcTfISklcAOAB3niwqqlpy91MK4ZzhlVWeDWAzySfjFEMTM2vg3T8PwGAA\nn8c6DpIPkGxFMgnufbGcZMxbZ2ZWx8zq5d0HcBXc1/GYIrkXwC4z6+wtGgTgs1jHUchNiEOXjGcn\ngL5mVtv7nxkEd34q5sysqfezDVx/+0vROlZMq0JWFEsphRDrOMzsZQD9ATQ2s90AHiY5O9ZxwLVW\nRwP4xOvzBoBfk1wSwxiaA5jrTepSDcArJOM2DLESuBDAIm86gwQAL5FcGqdY/gPAfK8h9CWAcfEI\nwvuQGwzg5/E4PslVZvYqgLUAcgCsQ/zKELxmZo0AnAIwIZonuVV+QEQkhKpat4yIiPig5C4iEkJK\n7iIiIaTkLiISQkruIiIhpOQuIhJCSu4iIiH0/wFsoL1kt9j78gAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8fd3d843c8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "np.random.seed(42)\n",
    "\n",
    "plt.clf()\n",
    "\n",
    "xs = np.arange(0,10,1)\n",
    "ys = np.random.normal(loc=3, scale=0.4, size=10)\n",
    "\n",
    "# 'bo-' means blue, points, solid lines\n",
    "plt.plot(xs,ys,'bo-')\n",
    "\n",
    "# zip joins x and y coordinates in pairs\n",
    "for x,y in zip(xs,ys):\n",
    "    \n",
    "    label = \"{:.2f}\".format(y)\n",
    "    \n",
    "    plt.annotate(label, # this is the text\n",
    "                 (x,y), # this is the point to label\n",
    "                 textcoords=\"offset points\", # how to position the text\n",
    "                 xytext=(0,10), # distance from text to points (x,y)\n",
    "                 ha='center') # horizontal alignemtn can be left, right or center\n",
    "\n",
    "plt.xticks(np.arange(0,10,1))\n",
    "plt.yticks(np.arange(0,7,0.5))\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9,  1. ])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.linspace(0,1,11)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Global TF Kernel (Python 3)",
   "language": "python",
   "name": "global-tf-python-3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
